Skip to main content

Full text of "Arduino"

See other formats

Mimicking Robotic Arm 


Make Projects 

build, hack, tweak, share, discover, J 

Mimicking Robotic Arm 

Written By: Andrew Kaye 


Acrylic cement (1) 

Digital Calipers (1) 

Hot Glue gun & hot glue (1) 

Laser cutter or jigsaw, router, or coping 
saw (1) 

Screwdrivers (1) 
Soldering iron (1) 


Arduino Uno (1) 

Breadboard kit (1) 

9 volt battery and clip (1) 

Batteries, AA (4) 

Battery holder (1) 
For 4 AA batteries 

Potentiometer (4) 

Servo (generic) (4) 
2 large and 2 small 

Jumper wires (1) 


12"x12"x1/8" Acrylic (2) 

Screws (1) 

Various sizes and types 

Very thin plastic sheet (1) 


In this project you will build two robotic arms. One has potentiometers on the joints, and the 
other has servos. When you manipulate the potentiometer arm, the servo arm mimics it. An 
Arduino provides the control to make it all happen. 

© Make Projects 

Page 1 of 6 

Mimicking Robotic Arm 

Find four matching potentiometers. I recommend ones that have a large flat surface so you 
can easily glue them to the arm pieces. 

The Arduino should read most potentiometers as values of to 1023. If you find 
your arms to be not very responsive to your movements, check the values read 
from the potentiometers using the serial monitor. I found that the Arduino read the 
potentiometers I used as values from 21 to 589 so I had to map my values differently. 

Wire your potentiometers to the breadboard. I had all the positive and negative leads going 
to one set of power rails. The signal wires should go to the analog inputs. Write down or 
remember which is which if you want to save time when doing the code. 

If you find the servo moves the wrong way, try reversing the polarity of the potentiometer 

© Make Projects 

Page 2 of 6 

Mimicking Robotic Arm 

• Using calipers, measure out where the mounting holes should be for your servos. I also 
rastered in circles for potentiometer placement and a line for gluing on the bracket for the 

• The bracket for the claw is precisely positioned so that the edges of the claw line 
up due to the thickness of the servo mount or the potentiometer mount. 

• I also put in cutouts to reduce weight. Be aware of the weight of the arm; I found 
that the servo that lifts the large arm segment barely had enough torque to lift the 

• After the arms are designed, cut them using whatever methods are available to you. I have 
access to a laser cutter so that is what I used. 

© Make Projects 

Page 3 of 6 

Mimicking Robotic Arm 

Now that you have all your pieces, it is time to assemble the arms. Keep track of which 
pieces are for which arm and assemble the arms as in the pictures. I recommend doing 

any gluing first and then mounting servos and potentiometers. 

I used a combination of hot glue and acrylic cement to assemble my arms. For 
lower joints that need a lot of strength I would use the acrylic cement. 

When mounting the potentiometers keep in mind their orientation. They need to be 
"facing" the same side or the servos will move opposite to your movements of the • 

potentiometer arms. 

After I had the claw halves glued I cut out a piece of the very thin plastic to make 
the bottom. I found it easier to glue one end and cut to fit rather than measuring the 
curve for a dimension. 


© Make Projects 

Page 4 of 6 

Mimicking Robotic Arm 


mmimMm^B i ^™- - - 

+ + + + 


i i u I i 


* 1 * 5 i t 

Iff | 



I I IH- I k I l> k I I |r N |< I I 

: — 

The wiring for this is not that complicated. Most of it is just distributing power and running 
signal wires. 

The positive and negative wires from the servos should go to the power rails along with the 
wires from the external battery pack. 

The positive and negative wires from the potentiometers should go to the other set of 
power rails on the breadboard. 

The +5 and Ground pins from the Arduino should go to the power rails of the breadboard 
where the potentiometers are connected. 

The signal wires from the servos should go to their corresponding digital output pins on the 
Arduino (these need to be PWM outputs). 

The signals from the potentiometers should go to their corresponding analog inputs. 

I jumpered the ground rails together to eliminate noise. I'm not sure if this is 
necessary for it to work, but it doesn't hurt. 


© Make Projects 

Page 5 of 6 

Mimicking Robotic Arm 

tr-\ l44Ki; l:ccc tci t±* lor*t mto of the on 

fall p*tplnO * to .VqIvci tft* "in * 1*3 pin t-r-r th* «n*-yp*rrflna; pra.nnr«^[ 

Lr.L VitO"f ,' /Hiked * !.'■: 1 illjJ c- tyt Ei? \.'a2'jr -.'C EKf ^UnllAUUb 

lA 7*11: 

: nv-. elawjaiM!- 
tni pcTpini - Zr 

7si'-tc bora-i 

-r.f p---rp:r. ! - !; 

Ive mil: 

void BtipU 
Jo4Hi.4TTach(lQ]; v/nells die -iEtiuii» *h»cb i1l^;t-i1 pin Khz servo 1b roraiectri to 

Ci47J*Lfl.L. n LI iCU [9) ,' 

tue. itTach.(S] j 


t*fcd loopCI 

val0 - ULiL^-jP^^JipuigjUiDj: .-/sec? ch-t Tfeuibta ttpiMl to irtsii chc dueecjic vii'je- :•[ tfc* poi«nnauiei la 
7*10 * fciF(v4inj 2i^ sag, o, IT9J3 /Y-K4i*s tbla value to -he cmoe ?C <ttt !«■?:■ 

le*ii{.9iiL'-B[V4iO]; S/nlCW W,r v»]ur to tfc* Itrt". 
dftl*y(.t5]; '.''JL'JtJ 'Jit ?tCVt GUrt GO fl*L L* lt« B0-JJ.T L0I1 

M*U ■ ar^Lij^nltpntpUil); 

V4LL - i^iVnIl, »,, SBSj [i, ITS|> 

:-. v. (1S|; 

■»4l3 * *MUoPeO'ifp^^ln3Ji 

«*13 -. Hp-pnu^ ai, sea, o, it«; 

7413 ■ analogue ad (pfli3iln3J j 

■=■■115 * a-5p(v*13t 3l H 5fl7^ Hj 3"?PJ; 

e*£L- c (^naaj: 


• The code that I used to control the 
arms is very similar to the "servo 
knob" example that comes with all 
installations of the Arduino IDE. 

• Variables are created for each 
servo and potentiometer. 

• The code reads the value of the 
potentiometer, maps it to the range 
of the servo and writes it to the 
servo in a loop. 

• See the attachments to this project 
for a PDF file of the code. You can 
copy and paste it into the Arduino 

Other parts about this project that I would've liked to include but didn't have time to are adding 
code to make the servo arm move smoothly without twitching and using servos that have the 
ability to move a full rotation. 

This document was last generated on 201 3-02-1 2 1 2:41 :40 PM. 

© Make Projects 

Page 6 of 6